package net.xpyun.platform.opensdk.util;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class PrinterQuery {
    List<String> append = null;

    public PrinterQuery() {
        append = new ArrayList<>();
    }
    public void rtl() {
        append.add("<lu>");
    }
    public void br() {
        append.add("<BR>");
    }

    public void line58() {
        System.out.println("--------------------------------".length());
        append.add("<BR><N>--------------------------------");
    }

    public void addRow(String str) {
      //  System.out.println(str.length());
        append.add("<BR><N>" + str);
/*        if(str.length()>32){
            append.add("<BR><N>" + str);
            if(str.length()>64){
                append.add("<BR><N>" + str.substring(32, str.length()));
                append.add("<BR><N>" + str.substring(64, str.length()));
            }else {
                append.add("<BR><N>" + str.substring(32, str.length()));
            }
        }else {
            append.add("<BR><N>" + str);
        }*/

    }

    public void cb(String str) {
        append.add("<CB>" + str+"</CB>");
    }

    public void barcode(String str) {
        append.add("\n<C><BARCODE t=CODE128 w=2 h=100 p=2>" + str + "</BARCODE>");
    }
    public void qrcode(String str) {
        append.add("\n<QRCODE s=6 e=L l=center>"+str+"</QRCODE>");
    }

    public void addGoodsHeader(String name, String count, String price) {

        addRow(name+"               " + count + "  " + price);

    }
    public void addGoods(String name, Integer count, BigDecimal bigDecimal) {
        addRow(name);
       // addRow("                       x" + count + " " + bigDecimal.doubleValue() + "￥");
        addRow(bigDecimal.doubleValue() + "￥   " + count + "x                    ");

    }

    public String build() {
        return String.join("", append);
    }
}
